ioemu: Fix segfault when creating qcow-backed vbds.
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 3 Mar 2008 13:54:05 +0000 (13:54 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 3 Mar 2008 13:54:05 +0000 (13:54 +0000)
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
tools/ioemu/block-raw.c
tools/ioemu/block.c
tools/ioemu/block_int.h

index f0ad65e0a70720dc466c2f0c5ab0ea53b6dedd76..182d2ec55e07457361f1192e2cd835cbab751f68 100644 (file)
@@ -1489,7 +1489,5 @@ BlockDriver bdrv_host_device = {
     .bdrv_pread = raw_pread,
     .bdrv_pwrite = raw_pwrite,
     .bdrv_getlength = raw_getlength,
-
-    .bdrv_flags = BLOCK_DRIVER_FLAG_EXTENDABLE
 };
 #endif /* _WIN32 */
index c9e27d1191a91d061d118acdefcb3b189a1c5bd7..6e8f8cc73710089ddfd89677958b65b60f6709ab 100644 (file)
@@ -350,11 +350,8 @@ int bdrv_open2(BlockDriverState *bs, const char *filename, int flags,
     bs->is_temporary = 0;
     bs->encrypted = 0;
 
-    if (flags & BDRV_O_EXTENDABLE) {
-       if (!(drv->bdrv_flags & BLOCK_DRIVER_FLAG_EXTENDABLE))
-           return -ENOSYS;
+    if (flags & BDRV_O_EXTENDABLE)
        bs->extendable = 1;
-    }
 
     if (flags & BDRV_O_SNAPSHOT) {
         BlockDriverState *bs1;
index fba27c2c3561b5cb838ca28d08a8ade2101166e5..c7a9d197b3353808af36458f4d86d3b623757f79 100644 (file)
@@ -24,8 +24,6 @@
 #ifndef BLOCK_INT_H
 #define BLOCK_INT_H
 
-#define BLOCK_DRIVER_FLAG_EXTENDABLE  0x0001u
-
 struct BlockDriver {
     const char *format_name;
     int instance_size;
@@ -78,7 +76,6 @@ struct BlockDriver {
     int (*bdrv_eject)(BlockDriverState *bs, int eject_flag);
     int (*bdrv_set_locked)(BlockDriverState *bs, int locked);
     
-    unsigned bdrv_flags;
     BlockDriverAIOCB *free_aiocb;
     struct BlockDriver *next;
 };